const express = require('express');
const router = express.Router();
const { db } = require('../db/database');

// 获取所有订单详情信息
router.get('/', (req, res) => {
    db.all('SELECT * FROM 订单详情信息', (err, rows) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.json(rows);
    });
});

// 根据订单详情编号获取单个订单详情信息
router.get('/:id', (req, res) => {
    const id = req.params.id;
    db.get('SELECT * FROM 订单详情信息 WHERE 订单详情编号 =?', [id], (err, row) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (!row) {
            res.status(404).json({ error: '订单详情记录未找到' });
            return;
        }
        res.json(row);
    });
});

// 添加订单详情
router.post('/', (req, res) => {
    const { 订单编号, 商品编号, 商品数量, 商品单价 } = req.body;
    const insertOrderDetail = db.prepare('INSERT INTO 订单详情信息 (订单编号, 商品编号, 商品数量, 商品单价) VALUES (?,?,?,?)');
    insertOrderDetail.run([订单编号, 商品编号, 商品数量, 商品单价], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.status(201).json({ id: this.lastID, message: '订单详情添加成功' });
    });
    insertOrderDetail.finalize();
});

// 更新订单详情
router.put('/:id', (req, res) => {
    const id = req.params.id;
    const { 订单编号, 商品编号, 商品数量, 商品单价 } = req.body;
    db.run('UPDATE 订单详情信息 SET 订单编号 =?, 商品编号 =?, 商品数量 =?, 商品单价 =? WHERE 订单详情编号 =?',
        [订单编号, 商品编号, 商品数量, 商品单价, id],
        function (err) {
            if (err) {
                res.status(500).json({ error: err.message });
                return;
            }
            if (this.changes === 0) {
                res.status(404).json({ error: '订单详情记录未找到' });
                return;
            }
            res.json({ message: '订单详情更新成功' });
        });
});

// 删除订单详情
router.delete('/:id', (req, res) => {
    const id = req.params.id;
    db.run('DELETE FROM 订单详情信息 WHERE 订单详情编号 =?', [id], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (this.changes === 0) {
            res.status(404).json({ error: '订单详情记录未找到' });
            return;
        }
        res.json({ message: '订单详情删除成功' });
    });
});

module.exports = router;